package com.tbit.uqbike.object.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 退款订单表
 *
 * @author Zhang Zhi Liang
 * @since  2024/3/28 15:40
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
public class RefundOrder {
    /**
     * 业务订单号
     */
    private String businessNO;
    /**
     * 退款订单号
     */
    private String refundNO;
    /**
     * 退款申请总金额
     */
    private Double totalRefundMoney;
    /**
     * 本次退款金额
     */
    private Double refundMoney;
    /**
     * 退款时间
     */
    private String refundTime;
    /**
     * 该笔退款的状态（0 退款中，1 退款成功，2 退款失败）
     */
    private Integer refundStatus;
    /**
     * 退款类型（0 分账退款，1其他退款）
     */
    private Boolean adapay;
    /**
     * 充值订单号
     */
    private String rechargeNO;
    /**
     * 消息内容
     */
    private String messageContent;
    /**
     * 路由键
     */
    private String routeKey;
    /**
     * 交换机
     */
    private String exchange;
    /**
     * 消费成功标识 1为消费成功
     */
    private Boolean msgSuccess = false;
    /**
     * 变更类型 详见RefundLogContent
     */
    private Integer changeType;
    /**
     * 备注
     */
    private String remark;


    /**
     * sendMsg
     */
    private Integer sendMsg;
    /**
     * 是否api接口
     */
    private Boolean api;
    /**
     * isReduce
     */
    private Boolean reduce;


    /**
     * 操作人id
     */
    private Integer operatorId;
    /**
     * 操作人姓名
     */
    private String operatorName;
    /**
     * 操作人电话
     */
    private String operatorPhone;
    /**
     * 骑行订单号
     */
    private String rideOrderNO;

    /**
     * 日志操作标识
     */
    private String logTag;
    /**
     * 日志2 参数
     */
    private Double areaAlreadyRefundMoney;
    /**
     * api日志2 参数
     */
    private Double allAdaPayMoney;
    private Double otherMoney;

    private Integer adAccountId;

    /**
     * api日志1 参数(money + fineMoney),订单总金额
     */
    private Double allMoney;
    /**
     * 已退总金额
     */
    private Double alreadyRefundMoney;

    /**
     * api日志3 参数
     */
    private String merchantNOListStr;
    private Integer userId;

    /**
     * 交易备注
     */
    private String transactionLogRemark;

    /**
     * fee_amt
     */
    private String feeAmt;
    /**
     * confirmId
     */
    private String confirmId;

    /**
     * 罚款 或 骑行消费 或 卡券 总额
     */
    private Double fineOrRideOrCardAllRefundMoney;

    /**
     * 罚款 或 骑行消费 或 卡券 总额 汇付总额
     */
    private Double fineOrRideOrCardAllAdapayRefundMoney;

    /**
     * 实时/延时分账对象
     */
    private String userAdapaylogs;

    //此次实际汇付分账对象，userAdapaylogs在同一批次的退款中可能会不准确
    private String actualUserAdapaylogs;

    //退款批次，用于查询当前退款的汇付分账信息
    private String refundBatch;

    //第三方接口调用错误信息
    private String errorMsg;
}
